package be.ipl.diapero.testDomaine;

import static org.junit.Assert.*;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.junit.Before;
import org.junit.Test;

import be.ipl.diapero.domaine.Joueur;
import be.ipl.diapero.domaine.Partie;
import be.ipl.diapero.domaine.Partie.Etat;
import be.ipl.diapero.domaine.Tour;

public class TestPartie {

	private Partie partie ;
	private Partie partie2 ;
	private Calendar date ;

	@Before
	public void setUp() throws Exception {
	  date = new GregorianCalendar();
	  this.partie = new Partie("partie1", date);
	  this.partie2 = new Partie("partie2", date);
	}

	@Test
	public void testConstructeur() {
		assertNotNull(partie);
	}
	
	@Test
	public void testGetId() {
		assertEquals(1, this.partie.getId());
	}
	
	@Test
	public void testGetNom() {
		assertEquals("partie1", this.partie.getNom());
	}
	
	@Test
	public void testGetDate() {
		assertEquals(date, this.partie.getDate());
	}
	
	@Test
	public void testGetEtat() {
		assertEquals(Etat.INITIAL, this.partie.getEtat());
	}
	
	@Test
	public void testGetJoueurs() {
		assertNotNull(partie.getJoueurs());
	}
	
	@Test
	public void testGetTours() {
		assertNotNull(partie.getTours());
	}
	
	@Test
	public void testHashCode() {
		assertNotNull(partie.hashCode());
	}
	
	@Test
	public void testEquals() {
		assertTrue(partie.equals(partie));
		assertFalse(partie.equals(partie2));
	}

}
